package com.ag.bean;

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * TbTaskFeedback entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_TASK_FEEDBACK", schema = "dbo", catalog = "AGDB")
public class TbTaskFeedback implements java.io.Serializable {

	// Fields

	private String tfId;
	private Date tfTime;
	private TbTask tbTask;
	private String tfText;
	private String tfPeople;
	private String tfCheck;
	private String a;
	/**
	 * 字段B，对应备注信息
	 */
	private String b;
	private String c;
	private Set<TbFeedbackAnnex> tbFeedbackAnnexes = new HashSet<TbFeedbackAnnex>(
			0);

	// Constructors

	/** default constructor */
	public TbTaskFeedback() {
	}

	/** minimal constructor */
	public TbTaskFeedback(String tfId,Date tfTime, TbTask tbTask, String tfText) {
		this.tfId = tfId;
		this.tfTime = tfTime;
		this.tbTask = tbTask;
		this.tfText = tfText;
	}

	/** full constructor */
	public TbTaskFeedback(String tfId,Date tfTime, TbTask tbTask, String tfText,
			String tfPeople, String tfCheck, String a, String b, String c,
			Set<TbFeedbackAnnex> tbFeedbackAnnexes) {
		this.tfId = tfId;
		this.tfTime = tfTime;
		this.tbTask = tbTask;
		this.tfText = tfText;
		this.tfPeople = tfPeople;
		this.tfCheck = tfCheck;
		this.a = a;
		this.b = b;
		this.c = c;
		this.tbFeedbackAnnexes = tbFeedbackAnnexes;
	}

	// Property accessors
	@Id
	@Column(name = "TF_ID", unique = true, nullable = false, length = 10)
	public String getTfId() {
		return tfId;
	}

	public void setTfId(String tfId) {
		this.tfId = tfId;
	}
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "TF_TIME", unique = true, length = 14)
	public Date getTfTime() {
		return this.tfTime;
	}

	public void setTfTime(Date tfTime) {
		this.tfTime = tfTime;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "T_ID")
	public TbTask getTbTask() {
		return this.tbTask;
	}

	public void setTbTask(TbTask tbTask) {
		this.tbTask = tbTask;
	}

	@Column(name = "TF_TEXT", length = 1024)
	public String getTfText() {
		return this.tfText;
	}

	public void setTfText(String tfText) {
		this.tfText = tfText;
	}

	@Column(name = "TF_PEOPLE", length = 20)
	public String getTfPeople() {
		return this.tfPeople;
	}

	public void setTfPeople(String tfPeople) {
		this.tfPeople = tfPeople;
	}

	@Column(name = "TF_CHECK", length = 1)
	public String getTfCheck() {
		return this.tfCheck;
	}

	public void setTfCheck(String tfCheck) {
		this.tfCheck = tfCheck;
	}

	@Column(name = "A", length = 60)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 1024)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 60)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "tbTaskFeedback")
	public Set<TbFeedbackAnnex> getTbFeedbackAnnexes() {
		return this.tbFeedbackAnnexes;
	}

	public void setTbFeedbackAnnexes(Set<TbFeedbackAnnex> tbFeedbackAnnexes) {
		this.tbFeedbackAnnexes = tbFeedbackAnnexes;
	}

}